表情识别的综述
阅读后的想法和疑问
目前FER可分为传统方法和DL方法,而传统方法的三阶段:预处理 -> 特征提取 -> 选择分类器,直观上看每一个都需要很深入且广泛的学习,就目前我们的情况来说,传统方法是否需要进行研究?我们目前使用的是什么方法?
AUs和V-A space是一定要学习的。
论文阅读
目前FER的两大方向
基于Action Units (AUs)
Ekman和Friesen开发了面部动作编码系统(FACS),用于按动作单位(AU)描述面部表情。 在他们定义的44个FACS AU中,有30个AU在解剖上与特定面部肌肉的收缩有关:用于上面部,而18个用于下面部。 AU可以单独或组合使用。 当AU组合出现时,它们可能是加性的(组合不会改变组成AU的外观),也可能是非加性的(其中组成的外观确实会改变)。尽管原子作用单元的数量相对较少, 已经观察到超过7,000种不同的AU组合。 FACS提供了描述面部表情细节所必需的描述能力。非加性AU组合的这些效果增加了AU识别的难度。基于 Valence–Arousal space (V–A space)
V–A space 是一种通用模型,广泛用于音频,视觉和生理信号的连续情感识别任务。
The V–Amodel identify emotion categories according to the value of the emotion dimensions (i.e., arousal andvalence).
直观理解:
根据一些参数,可估计出当前情绪在V-A space中的位置。有文献指出,可以使用AUs估计V-A space的参数,进而识别情感状态。
CVPR会议论文: FATAUVA-Net: An integrated deep learning framework for facialattribute recognition, action unit detection, and valence-arousal estimation。
FER数据
根据拍摄环境,与FER相关的数据可以大致分为实验室类型和野生类型,第4部分详细介绍了几个公开可用的FER数据集。大多数现有研究都基于实验室数据集,例如JAFFE [ 14]和CK + [15],这些数据来自志愿者,他们在特定的指导下做出了相应的表达。
基于这些数据的实验加快了FER算法的发展。 然而,随着人工智能技术的发展以及大数据时代对应用的广泛需求,对FER的研究将集中在野外的自发表达上。 需要提出复杂环境中的FER的新解决方案,例如,遮挡,多视图和多目标。实验室型(laboratory type)
野生型(wild type)
FER理论术语
Facial Landmarks (FLs)
面部标志是面部区域的视觉亮点,例如鼻翼,眉毛的末端和嘴角,如图所示。面部周围的FL位置和轮廓, 捕捉由于头部运动和面部表情而引起的面部变形。
面部界标的点对点对应可以建立人脸的特征向量。Facial Action Units (AUs)
46个面部动作单元编码个体或肌肉群的基本运动,通常在面部表情产生特定情感时观察到。 图3说明了一些示例。 FER系统通过检查检测到的面部AU的组合来对表情类别进行分类。 例如,如果用1、2、5和25号AU标记图像,则可以将其分类为表达“敬畏”类别。Facial Action Coding System (FACS)
国际知名的心理学家埃克曼和弗里森通过观察和生物反馈描绘了面部肌肉运动与表情之间的对应关系[18]。 基于解剖特征,他们首先将整个面部分为几个独立且相互关联的au,然后进一步分析这些au的特征。 表1列出了在每种基本情绪和复合情绪类别中看到的典型AU。FACS系统对现实生活中的许多人类表情进行了分类,并且是当今面部表情中肌肉运动的权威参考标准。Basic Emotions (BEs)
在[Ekman, P. An argument for basic emotions. Cognition & emotion 1992, 6, 169–200.]中提出了六种基本的人类情感,即幸福,惊奇,悲伤,愤怒,厌恶和恐惧。 FER相关的数据集通常用这六个BE标记。Compound Emotions (CEs)
复合情绪是两种基本情绪的组合。 在[21]中介绍了22种情绪,包括7种基本情绪(6种基本情绪和1种中性),12种人类共同表达的复合情绪以及3种其他情绪(敬畏,震惊和仇恨)。Micro Expressions (MEs)
微观表情[22]代表了不自主发生的更多自发性和微妙的面部运动。 他们倾向于在有限的时间内揭示一个人的真实和潜在的表情。
微表达的持续时间非常短,仅持续1/25到1/3 s。 关于微表情的研究通常用于心理学和警察调查中。
传统FER:特征工程,小数据
传统的FER方法包括三个主要步骤,即图像预处理,特征提取和表达分类。 这种基于手动特征提取的方法较少依赖数据和硬件,这在小数据样本分析中具有优势。
与基于深度学习的方法相比,传统的FER方法对数据和硬件的依赖性明显降低。然而,特征提取和分类必须分别进行手工设计,这意味着这两个阶段不能同时优化。传统FER方法的有效性取决于每个单独组件的性能。
- 图像预处理
该步骤是消除输入图像的不相关信息,并增强相关信息的检测能力。 图像预处理可以直接影响特征的提取和表达分类的性能。 由于各种原因,图片经常被其他一些信号污染。 某些图片可能仍然具有复杂的背景,例如光强度,遮挡和其他干扰因素,即使它们基本上没有噪音。 此外,许多数据集的大小不同,一些数据集由彩色图像组成,而一些数据集由灰度图像组成。 另外,各种拍摄设备也会导致数据多样性。 这些客观干扰因素需要在识别之前进行预处理。
- 图像降噪(Noise reduction)
平均滤波器(AF),高斯滤波器(GF),中值滤波器(MF),自适应中值滤波器(AMF)和双边滤波器(BF)是经常使用的图像处理滤波器。
- 人脸检测(Face detection)
人脸检测已发展成为一个独立的领域[34,35]。 这是FER系统中必不可少的前置步骤,目的是定位和提取面部区域。
- 归一化(Normalisation)
比例尺和灰度的归一化是对输入图像的大小和色彩进行归一化,其目的是在确保面部关键特征的前提下降低计算复杂度[36-38]。
- 直方图均衡化(Histogram equalisation)
应用直方图均衡化以增强图像效果[39]。
- 特征提取
特征提取是从图像中提取有用数据或信息的过程,例如值、向量和符号。这些提取的“非图像”表示或描述是图像的特征。在FER系统中广泛应用的特征提取方法主要有Gabor特征提取、局部二值模式(LBP)、光流法、类Haar特征提取、特征点跟踪等。
特征提取直接影响算法的性能,而特征提取往往是FER系统的瓶颈。在传统的特征提取方法中,人工选择合适的特征提取方法时,必须同时考虑其适用性和可行性。
- Gabor特征提取(Gabor Feature Extraction)
将小波理论与Gabor特征相结合,提出了基于Fourier变换的Gabor小波核函数。结合其他分类方法[40],基于Gabor小波的FER具有显著的优势。在文献[14]中,使用一组多方向、多分辨率的Gabor滤波器对人脸表情图像进行编码。Yu等人[41]利用Gabor特征对新算法进行线性和非线性综合。Gabor-mean-DWT(Discrete Wavelet Transform)[42]与现有的基于Gabor的表达式分类相比,提供了更为紧凑的特征向量,以缓解维数问题。
Gabor小波对多尺度、多方向的纹理特征变换具有良好的鲁棒性,对光照强度不敏感。然而,Gabor小波通常处理全局特征,因此会消耗大量的内存。
- 局部二值法(Local Binary Pattern (LBP))
LBP[43]计算图像中包含的每个像素与其局部邻域之间的亮度关系。然后对二进制序列进行编码以形成局部二进制模式。最后,它使用多区域直方图作为图像的特征描述,如图5所示。
- ASM/AAM
没看懂。
- 光流法(Optical Flow Method):有关运动
光流是由相对运动引起的视在运动模式。利用Horn-Schunck(HS)光流[53]将二维速度场与灰度相结合,提取连续运动人脸图像序列的特征。
[54]中介绍了一种分析和表示面部动力学的方法。该算法通过计算由面部表情引起的光流来识别运动方向。在[55]中,开发并实现了一种基于光流的方法,通过自动识别面部表情的细微变化来捕捉情绪表达。Sánchez等人[56]系统地比较了两种基于光流的FER方法,分别称为特征点跟踪和密集流跟踪,如图6所示。
- Haar-like Feature Extraction:有关运动
Haar能够提取更多的人脸运动单元变化信息,因为它描述了人脸的局部灰度变化。
- 人脸特征点定位及追踪(Feature Point Tracking)
- 传统分类器
另一个影响表情识别率的关键是如何选择合适的分类器来成功预测人脸表情。FER系统中常用且应用广泛的分类器有kNN(k近邻)、SVM(支持向量机)、Adaboost(自适应Boosting)、Bayesian、SRC(稀疏表示分类器)和PNN(概率神经网络)。它们的优点和局限性,比较如下。
- kNN算法
[62–64]简单易用。由于每增加一个新样本都要与训练集进行比较,算法的训练速度较慢。kNN算法的另一个显著特点是它对数据的局部结构非常敏感。每个属性的权重相同可能导致次优和不稳定的分类精度。
- 支持向量机
[41,65–69]通过提供有限的样本数据信息来获得泛化能力,可以在复杂模型上找到一个很好的折衷方案。通过核函数将线性不可分数据映射到更高的维上,将数据转化为线性可分数据也是可能的。通过引入核函数,计算机可以有效地处理高维数据,在一定程度上避免维灾难的发生。
- AdaBoost
[70–73]对噪声和异常数据非常敏感。在某些问题中,它比其他学习算法更不容易受到过拟合问题的影响。AdaBoost(使用决策树作为弱学习者)通常被称为最好的开箱即用分类器。
- 朴素贝叶斯分类器(naivebayes classifier)
[74–76]具有高度的可伸缩性,在学习问题中需要线性参数来表示变量的数量。一个优点是只需要少量的训练数据来估计分类所需的参数。
- SRC
[40,47,77,78]比传统方法具有更好的识别效果,特别是当样本受到随机像素损坏或随机块遮挡时。然而,当处理具有相同方向分布的数据时,SRC可能不会对数据进行分类,因为不同类别的样本向量分布在相同的向量方向上。
- PNN
作为一种分类器,具有快速的训练过程和固有的并行结构,保证随着代表性训练集大小的增加收敛到最优分类器[79]。
- 深度学习FER:端到端,海量数据
基于深度学习的FER方法通过直接从输入数据到分类结果采用“端到端”学习,大大降低了对特征提取的依赖。 请注意,带有标签的海量数据集是深度学习算法的基石,否则,过度拟合很容易发生。
深度学习在识别、分类和目标检测等机器学习任务中表现出了优异的性能。在FER方面,基于深度学习的方法大大减少了对图像预处理和特征提取的依赖,并且对具有不同元素(如光照和遮挡)的环境具有更强的鲁棒性,这意味着它们可以大大优于传统方法。此外,它还具有处理大量数据的潜在能力。
- Convolutional Neural Network (CNN)
CNN[83]是一种“端到端”模型,是人工神经网络(ANN)的改进。
CNN具有局部连通性和权值共享的特点,网络参数少,训练速度快,正则化效果好。基于CNN的FER程序的示例如图8所示。
- Deep Belief Network (DBN)
- Long Short-Term Memory (LSTM)
- Generative Adversarial Network(GAN)